package com.py.rejected.mapper;

import java.util.List;
import java.util.Map;

import com.py.rejected.domain.OdSaleRejected;
import com.py.rejected.domain.OdSaleRejectedDetails;
import com.py.rejected.domain.SysUser;
import org.apache.ibatis.annotations.Param;

/**
 * 销售退货Mapper接口
 * 
 * @author 童佳
 * @date 2024-12-12
 */
public interface OdSaleRejectedMapper 
{
    /**
     * 查询销售退货
     * 
     * @param srId 销售退货主键
     * @return 销售退货
     */
    public OdSaleRejected selectOdSaleRejectedBySrId(Integer srId);

    List<OdSaleRejectedDetails> selectOdSaleRejectedDetailsList(OdSaleRejectedDetails odSaleRejectedDetails);

    /**
     * 查询销售退货列表
     * 
     * @param odSaleRejected 销售退货
     * @return 销售退货集合
     */
    public List<OdSaleRejected> selectOdSaleRejectedList(OdSaleRejected odSaleRejected);

    /**
     * 新增销售退货
     * 
     * @param odSaleRejected 销售退货
     * @return 结果
     */
    public int insertOdSaleRejected(OdSaleRejected odSaleRejected);

    /**
     * 修改销售退货
     * 
     * @param odSaleRejected 销售退货
     * @return 结果
     */
    public int updateOdSaleRejected(OdSaleRejected odSaleRejected);

    /**
     * 删除销售退货
     * 
     * @param srId 销售退货主键
     * @return 结果
     */
    public int deleteOdSaleRejectedBySrId(Integer srId);

    /**
     * 批量删除销售退货
     * 
     * @param srIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOdSaleRejectedBySrIds(Integer[] srIds);

    /**
     * 批量删除${subTable.functionName}
     * 
     * @param srCode 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOdSaleRejectedDetailsBySrCodes(String [] srCode);
    
    /**
     * 批量新增${subTable.functionName}
     * 
     * @param odSaleRejectedDetailsList ${subTable.functionName}列表
     * @return 结果
     */
    public int batchOdSaleRejectedDetails(List<OdSaleRejectedDetails> odSaleRejectedDetailsList);
    

    /**
     * 通过销售退货主键删除${subTable.functionName}信息
     * 
     * @param srCode 销售退货
     * @return 结果
     */
    public int deleteOdSaleRejectedDetailsBySrCode(String srCode);

    public int deleteRejectedDetailsBySrCode(@Param("srCode") String srCode);

    SysUser selectBySysUserName(@Param("userName") String userName );

    int checkById(Map<String,Object> map);

    int revokeById(@Param("srId") Integer srId);

    int colseById(@Param("srId") Integer srId);

    int selectByCode(@Param("saleCode") String saleCode);
}
